A data storage system is an arrangement of hardware and software that typically includes one or more storage processors coupled to an array of non-volatile data storage devices, such as magnetic disk drives, electronic flash drives, and/or optical drives. The storage processors service host input/output (I/O) operations received from host machines. The received I/O operations specify storage objects (e.g. logical disks or “LUNs”) that are to be written to, read from, created, or deleted. The storage processors run software that manages incoming I/O operations and that performs various data processing tasks to organize and secure the host data received from the host machines and stored on the non-volatile data storage devices
Some data storage systems organize data into filesystems, which are stored on respective LUNs. In example operation, users of host computing systems connect to storage processors of data storage systems, mount previously created filesystems, and proceed to read and write files of the filesystems, create new files and directories, delete files and directories, etc.
Some data storage systems employ deduplication. To perform deduplication, a program searches a filesystem for data blocks having identical values. The program then replaces duplicate blocks with pointers to a single retained copy. Deduplication can save considerable space in filesystems that store multiple copies of the same data.